1. Technical Field
The present invention relates generally to wireless device networking and in particular to a method for fast roaming in a wireless network wherein security keys are provided proactively to one or more neighbor access points to which a mobile device may be expected to move to within a given session.
2. Background of the Related Art
Wireless local area network (WLAN) technologies and services are well-known. WLAN is based on IEEE 802.11 standards. Users access the WLAN using mobile devices (e.g., dual-mode cell phones, laptops, PDAs with a Wi-Fi NIC, or the like), which are each referred to as a mobile station (STA). A Wi-Fi infrastructure typically comprises one or more access points (APs) located in proximity to one another, and each AP provides a given wireless service area. Typically, an access point is a device that acts as a central point between a wireless and a wired network. The original 802.11 standard required that wireless data be encrypted by a WEP (Wired Equivalent Privacy) algorithm and that the encryption key be fixed. Other standards provide for access control, security session management, dynamic key exchange and key management, as well as the use of different key encryption algorithms for protection of wireless data. For example, IEEE 802.1X provides a framework for user authentication and key exchange, and IEEE 802.11i describes a specific 4-way key exchange handshake method. As seen in FIG. 1, this key exchange typically involves the generation of a pairwise master key (PMK) that provides security between a STA 100 and an AAA (Authentication, Authorization and Accounting) server 104, and a pairwise transient key (PTK) that provides security between the STA and an AP 102. The PMK is generated by the AAA server, which provides a standard remote authentication dial-in user service (RADIUS). An AP and a STA generate the PTK from the PMK. As the STA roams throughout the infrastructure (e.g., moving from the service area of AP 102 to the service area of AP 106), a roaming service typically is used to attempt to provide the STA with continuous service.
A representative roaming service is shown in U.S. Patent Application No. 2004/0242228 A1, to Lee et al., filed Jan. 8, 2004, and titled “Method for fast roaming in a wireless network.” In that patent application, a mobile device (STA) associates with an access point (AP), which then transmits proactive keys needed to enable the mobile device to roam to neighbor access points. An AP determines the neighbor access points by generating and maintaining a “neighbor graph,” which is a graph that defines connections between a STA and its potential APs that the STA may associate with by roaming. As described, a connection between APs is drawn in an AP-neighborhood graph if there is a physical connection between the APs without passing through any other AP and the distance between the physically-connected APs does not exceed a given threshold. According to the basic technique described by Lee et al., an AP to which the STA is currently associated obtains a unique PMK for each AP in its neighbor graph to which the STA may roam, and then sends those PMKs to the respective neighbor APs proactively—i.e., before the STA roams away from the AP. Thus, when the STA does move to one of its neighbor APs, a re-association is carried out between the STA and the neighbor AP using the already provided proactive key. In an alternate embodiment, shown in FIGS. 2A-2D here, the system uses an authentication server (AS) to facilitate the PMK generation and an accounting server to trigger the proactive key transfer to the neighbor APs. The accounting server maintains the AP-specific neighbor graphs. Thus, in FIG. 2A, the STA is associated with AP A using the RADIUS-compliant AAA authentication server (AS) and obtains PMKA to secure the session. The STA then issues an accounting-request (start) message to the accounting server, which causes the accounting server to issue a notify-request message to each of the neighbor APs (B and E) identified in AP A's neighbor graph. This is shown in FIG. 2B. As a consequence, each of the neighbor APs (B and E) performs an authentication with the authentication server, which generates unique per-AP PMKs, namely, PMKB and PMKE. As the STA roams (e.g., to AP B), its PMK (in this case PMKB) is already available at the new AP, thus reducing the likelihood that that connection will be dropped as the STA re-associates with the new access point. The STA re-associates with the new AP by generating PMKB (using the MAC address of AP B) and obtaining a PTK using a standard 4-way handshake. After the STA re-associates, AP B updates its neighbor graph, as illustrated in FIG. 2D.
While the neighbor graph generation and fast roaming techniques described above provide certain advantages, the approach is still problematic. The requirement that each neighbor AP have its own unique PMK as the STA roams during a given session is complex and inefficient. In particular, as more and more access points have to recompute PMKs, the network congestion increases dramatically, as does the strain on the authentication server. Moreover, the process of authenticating each neighbor AP to the AAA server is slow (e.g., up to 2-5 seconds) and, as a result, the proactive key may not be transferred to the new AP before the STA roams there, thereby disrupting the connection. This is unacceptable, especially for a voice call. Further, before the STA can use the new AP, it must generate the new PMK (in the example above, PMKB) on the device. Once again, processing delays here may cause the connection to be interrupted. Finally, in the Lee et al. technique, before a given AP updates its neighbor graph to the accounting server, it first connects to the prior AP and undertakes a dialog to confirm that the STA was previously there. This inter-AP dialog is computationally inefficient.